package Donnees;

import Metier.Objets.Role;
import Metier.Objets.Utilisateur;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DaoUtilisateur {
    
    public DaoUtilisateur() { }
    
    /**
     * Non implémenté car aucune gestion d'utilisateur demandée
     * @param utilisateur
     * @return
     */
    public Utilisateur ajouter(Utilisateur utilisateur) {
        return null;
    }
    
    /**
     * Recherche un Utilisateur en base en fonction d'un Role
     * @param role Role de l'Utilisateur
     * @return Utilisateur correspondant au role, null sinon
     * @throws SQLException
     */
    public Utilisateur chercher(Role role) throws SQLException {
        Connection connection = null;
        Statement statement = null;
        ResultSet rs = null;
        Utilisateur u = null;
        try {
            String query = "SELECT * FROM ROLE WHERE libelle LIKE '"+role.name()+"'";
            connection = ConnectionFactory.getConnection();
            statement = connection.createStatement();
            rs = statement.executeQuery(query);
            if (rs.next()) {
                u = new Utilisateur(Role.valueOf(rs.getString("libelle")), 
                        rs.getString("mot_de_passe").toCharArray());
            }
        } finally {
            DbUtil.close(rs);
            DbUtil.close(statement);
            DbUtil.close(connection);
        }
        return u;        
    }
    
    /**
     * Non implémenté car aucune gestion d'utilisateur demandée
     * @param utilisateur
     * @return
     */
    public Utilisateur modifier(Utilisateur utilisateur) {
        return null;
    }
    
    /**
     * Non implémenté car aucune gestion d'utilisateur demandée
     * @param utilisateur
     * @return
     */
    public Utilisateur supprimer(Utilisateur utilisateur) {
        return null;
    }
    
}
